Matrix-based pattern prediction of semi-chaotic systems

ABSTRACT

A matrix-based pattern prediction system of the present disclosure is that of a multi-block matrix-based system that operates on an input signal having a time-based pattern that is semi-chaotic. The system includes a wavelet/time conversion block Mλ, which is representative of a wavelet transformation of a semi-chaotic input signal, and a memory block MP which stores the wavelet coefficients generated by Mλ in an asymmetric matrix. The system further includes a predictor block MPP, which performs a time shifted symbolic operation on the memory block MP and is, therefore representative of the time shifted wavelet (Mλ). A Pattern Output block transforms the output predictor block MPP into a time-based output that is predictive of the semi-chaotic time-based input at a future point in time. First and second variables (Cp and Cpp) are automatically generated and used to compensate low (Cp) and high (Cpp) frequency components of an input.

TECHNICAL FIELD

The present disclosure is directed to pattern prediction and, moreparticularly to a matrix-based pattern prediction of semi-chaoticsystems.

BACKGROUND

The ability to predict the future operation of a semi-chaotic systemcould help to ensure that the operation of the system is continuous,stable and/or efficient. For instance, consider the example of apressurized pumping system that is subject to line pressurefluctuations. The ability to predict where, when and/or how linepressure fluctuations might occur enable the implementation of systemmodifications such that the line pressure fluctuations are reduced oreven eliminated. In another example, the ability to anticipate aquantity of goods that will be needed at a future point in time might beused to assist in purchasing and/or stockpiling an appropriate amount ofraw materials needed to produce the anticipated quantity and, thereby,reduce or eliminate slow-downs in the manufacture of the goods. It iswith the above-described needs in mind, that the instant disclosure ispresented.

SUMMARY

Matrix-based pattern prediction of semi-chaotic systems, according tothe present disclosure, is suitable for use in any number of patternprediction systems. The matrix-based pattern prediction anticipates thevalue of a process input thereby enabling compensation of the processinput to produce a desired output.

An aspect of the present disclosure is directed to a system forpredicting an output pattern based on a semi-chaotic time-based input.The system includes a matrix-based wavelet conversion block, amatrix-based memory block, a matrix-based predictor block and amatrix-based pattern output block. The matrix-based wavelet conversionblock receives the semi-chaotic time-based input and transforms theinput into a plurality of wavelets. Each of the plurality of wavelets isassociated with a coefficient that is representative of time andfrequency. The coefficients are mapped to a first asymmetric matrixhaving first and second axes (e.g., tλ, tp). Note: The names of the axes(tλ, tp).are provided for reference only and are not limiting, ratherany appropriate and/or desired label may be applied to the axes. Thematrix-based memory block maps the coefficients of the first asymmetricmatrix to a second asymmetrix matrix having flipped first and secondaxes (e.g., tλ, tp). The matrix-based predictor block maps thecoefficients of the second asymmetric matrix to a third asymmetricmatrix in a time-shifted configuration. The amount of time-shifting canbe predetermined or can be variable in accordance with a closed loopanalysis. The matrix-based pattern output block transforms thecoefficients of the third asymmetric matrix into a time-based outputpattern that is predictive of the semi-chaotic based-input at futuretime.

Another aspect of the present disclosure is directed to a method forpredicting an output pattern based on a semi-chaotic time-based input.The method includes transforming the semi-chaotic time-based input intoa plurality of wavelets, each of the plurality of wavelets associatedwith a coefficient and mapping the coefficients of the plurality ofwavelets to a first asymmetric matrix having a first axis (tλ) and asecond axis (tp). The method further includes mapping the coefficientsof the plurality of wavelets to a second asymmetric matrix having afirst axis (tλ) and a second axis (tp), wherein two 360° matrices and azero degree matrix are used to effect the mapping. The method furtherincludes mapping the coefficients of the second asymmetric matrix to athird asymmetric matrix having a first axis (tp) and a second axis (tλ),wherein two 360° matrices and a zero degree matrix are used to effectthe mapping in conjunction with a time-shift. The method also includestransforming the time-shifted coefficients into a time-based outputpattern that is a predictive of the semi-chaotic time-based input at afuture time.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a depiction of a two-dimensional symmetric matrix that can beused to implement an aspect of the matrix-based pattern predictionsystem.

FIG. 1B is a depiction of a three-dimensional symmetric matrix that canbe used to implement an aspect of the matrix-based pattern predictionsystem.

FIGS. 2A-2C are depictions of a symmetric matrix having a major axis at360 degrees, zero degrees and 180 degrees, respectively.

FIG. 3A-3B are examples of the symmetric matrices: M360 & Mzero based onthe Major Axis and an asymmetric matrix Mλ utilized by the patternprediction system of the present disclosure.

FIG. 4 is a depiction of a simplified schematic of the matrix-basedpattern prediction system of the present disclosure

FIG. 5 is a depiction of notation representative of the operation of thematrix-based wavelet transform block utilized by the matrix-basedpattern prediction system.

FIG. 6 is a depiction of notation representative of the operation of thematrix-based memory block, MP, utilized by the matrix-based patternprediction system.

FIG. 7 is a depiction of notation representative of the operation of thematrix-based predictor block, MPP, utilized by the matrix-based patternprediction system.

FIG. 8 provides a combination depiction of notation representative ofthe operation of the matrix-based memory block, MP, (also see FIG. 6)and matrix-based predictor block, MPP, (also see FIG. 7) to more clearlyillustrate the flow of operations from block to block.

FIG. 9 is a depiction of notation representative of the operation of thematrix-based output block, Pattern Output utilized by the matrix-basedpattern prediction system.

FIG. 10 is a depiction of a comparison plot comparing a known input tothe matrix-based pattern prediction system and an output predicted bythe matrix-based pattern prediction system with the inputted patternending at time tp and the pattern to be predicted beginning at time tp.The inputted pattern ends at time “255”, the pattern to be predictedbegins at time “255”.

FIG. 11 is a depiction of an exemplary time-based, semi-chaotic patterninput to the matrix-based pattern prediction system comparing the inputto an output predicted by the matrix-based pattern prediction system.The inputted pattern ends at time “1023”, the pattern to be predictedbegins at time “1023”. The remainder of the inputted pattern after time“1023” is not inputted into the matrix-based pattern prediction systembut is shown for comparison of the prediction to the predicted pattern.

FIG. 12 is a depiction of another exemplary time-based, semi-chaoticpattern input to the matrix-based pattern prediction system comparingthe input to an output predicted by the matrix-based pattern predictionsystem. The inputted pattern ends at time “1023”, the pattern to bepredicted begins at time “1023”. The remainder of the inputted patternafter time “1023” is not inputted into the matrix-based patternprediction system but is shown for comparison of the prediction to thepredicted pattern.

FIG. 13 is a depiction of another exemplary time-based, semi-chaoticpattern input to the matrix-based pattern prediction system comparingthe input to an output predicted by the matrix-based pattern predictionsystem. The inputted pattern ends at time “1023”, the pattern to bepredicted begins at time “1023”. The remainder of the inputted patternafter time “1023” is not inputted into the matrix-based patternprediction system but is shown for comparison of the prediction to thepredicted pattern.

FIG. 14 is a depiction of another exemplary time-based, semi-chaoticpattern input to the matrix-based pattern prediction system comparingthe input to an output predicted by the matrix-based pattern predictionsystem. The inputted pattern ends at time “1023”, the pattern to bepredicted begins at time “1023”. The remainder of the inputted patternafter time “1023” is not inputted into the matrix-based patternprediction system but is shown for comparison of the prediction to thepredicted pattern.

DETAILED DESCRIPTION

A matrix-based pattern prediction system of the present disclosure isthat of a multi-block matrix-based system that operates on an inputsignal having a time-based pattern that is semi-chaotic. The systemincludes a wavelet/time conversion block Mλ, which is representative ofa wavelet transformation of a semi-chaotic input signal, and a memoryblock MP which stores the wavelet coefficients generated by Mλ in anasymmetric matrix. The system further includes a predictor block MPP,which performs a time shifted symbolic operation on the memory block MPand is, therefore representative of the time shifted wavelet (Mλ). APattern Output block transforms the output of the predictor block MPPinto a time-based output that is predictive of the semi-chaotictime-based input at a future point in time. In certain embodiments,first and second variables (Cp and Cpp) are used to compensate low (Cp)and high (Cpp) frequency components of an inputted semi-chaotic pattern.More specifically, the two variables Cp and Cpp are used to compensatefor frequency (time delay) components that are outside the matrix timedelay (frequency) range of the matrices of the matrix-based patternprediction system. Within the frequency domain, the matrix-based patternprediction system can be described as a bandpass filter.

One skilled in the art will understand that the matrix-based patternprediction system discussed herein is susceptible of embodiments in anydigital system architecture. For example, the matrix-based patternprediction system presented herein may be embodied as software orfirmware stored in a non-transitory memory device and used to program aprocessing unit. Alternatively, the matrix-based pattern predictionsystem may be embodied as a set of logic gates and associated circuitrymaking up an application-specific integrated circuit (ASIC). Stillfurther, the matrix-based pattern prediction system may be embodied byone or more programmable gate arrays cooperating to implement theembodiments presented herein. Any combination of the described digitalsystem architectures may be alternatively and/or additionally used toimplement the embodiments of the matrix-based pattern prediction systemdescribed herein.

Matrix-based systems are based on time. Specifically, time delaysinherent in the cells of a matrix-based system with each cell having anintrinsic time delay “Tc”. The total time delay of each matrix beingN*Tc=Tm, where “N” is the axis (matrix) size.

A matrix-based system such as the matrix-based pattern predictionsystem, when considered in the frequency domain, operates as a band passfilter and can be described as:

Tc≤Tp≤N*Tm  Eq. (1)

-   -   Where:    -   Tc=time delay of each cell in a symmetrical matrix    -   Tm=time delay of a symmetrical matrix    -   N=matrix size    -   Tp=is the RANGE of time delays (frequency's) inherent in the        inputted pattern

Expressed in the frequency domain this becomes, when expressed asλd=1/Td:

1/λc≤1/λp≤N/λm  Eq. (2)

-   -   Where:    -   λc=the range of frequency's not greater than λp    -   λp=the range of frequency's inherent in the pattern to be        predicted    -   N/λm=the range of frequencys' not less than λp

What this implies is that if the pattern time delay is less than thetime delay of a matrix cell, the cell cannot change fast enough to trackthat frequency component. If the pattern time delay is greater than thetime delay of the matrix, it is seen as a DC component.

In further aid of better understanding of the present disclosure, abrief explanation of matrices and matrix notation is provided. Thematrix-based pattern prediction system utilizes symmetric matrices,examples of which are illustrated in FIGS. 1A-1B and 2A-2C. FIG. 1Aillustrates a two-dimensional, two-axis matrix 100 with axes A and B.FIG. 1B illustrates a three-axis matrix 104 with axes A, B and C.

FIGS. 2A-2C illustrate a symbolic matrix in its three primaryconfigurations 360°, zero° and 180° configurations, e.g., Rm=360°,Rm=0°, and Rm=180°, where Rm, in degrees, comprises the three possibleways the major axis can be rotated; a complete rotation of the matrixoccurs at Rm=360°. It should be noted that the bolded center block ofeach matrix in FIGS. 2A-2C marks the center pivot cell of the symmetricmatrix. Further, it should be noted that for N=255 the content of thecenter pivot cell is 128 (e.g., (255+1)/2=128), where N is the number ofsymbols on a symmetric axis.

In the context of the matrix-based pattern prediction system of thepresent disclosure, the zero degree matrix has zero forcing action, inthat the forcing action cancels itself out internally in the matrix sothat a pattern passes untouched in a zero degree matrix. This zerodegree matrix is used to provide an equal mapping path in the patternprediction system, described in further detail below. The 180 degreematrix of FIG. 2C and the 360 degree matrix of FIG. 2A provide themaximum forcing action upon a pattern to form a closed mapping pathusing both axes. The ability to close a mapping path in the patternprediction system of the present disclosure is based on the forcingaction inherent in a symbolic matrix. The inherent forcing action (Cm)can be described as:

Cm=cos(Rm)  Eq. (3)

-   -   Where:    -   Rm=rotation of the major axis of the symbolic matrix in degrees.

Accordingly, for the zero matrix, Rm=0 deg and Cm=1; for the 180 degreematrix, Rm=180 and Cm=−1; and for the 360 degree matrix, Rm=360 andCm=1).

Referring now to FIGS. 3A-3B, a 360 degree symmetric matrix, M360 and anasymmetrical matrix, Mλ, are illustrated and will be used in thenotation describing the matrix-based pattern prediction system.Consistent with a symmetric 360 degree matrix, the cell D in M360 isreferenced by A and B, which can be mapped to an axis on matrix Mλ. Whenthe second axis on matrix Mλ is also mapped from a second symmetricmatrix, cell E is mapped in Mλ. Cell E in Mλ, in turn, is mapped toanother matrix in the system. Note that all matrices used in the systemare two-dimensional matrices. With the configuration of M360 and Mλ inmind, operation of the matrix-based pattern prediction system can beunderstood with reference to FIGS. 4-8(A) and 4-8(B).

FIG. 4 is a simplified schematic illustrating both components andoperations of the matrix-based pattern prediction system 400 accordingto the present disclosure. As shown, the matrix-based pattern predictionsystem 400 generally comprises four components including a wavelet block401, a memory block 402, a prediction block 403 and Pattern Output block404.

The wavelet block 401 performs a matrix-based wavelet transform upon atime-based pattern, e.g. a semi-chaotic time-based pattern, and includesone 360 degree matrix matrix, M360 and one asymmetric matrix, Mλ. Thesize (e.g. the number of discrete values on each axis) of thesymmetrical matrix M360 determine, in time units, both the number oftime units (time units being, for example, seconds, minutes, days,years, etc.) of the input pattern and the maximum number of time unitsof the predicted output pattern. Mλ, while being asymmetric, consists ofthe same axis set as utilized in all matrices of the time-based patternprediction system 400. The cells of matrix Mλ contain the matrixtransform of the input pattern.

In the example of FIG. 4, the time-based pattern comprises a basic sinewave, however, any non-random, time-based pattern or semi-chaotictime-based pattern can be inputted to wavelet block 401. The time-basednon-random pattern is scaled to suit the size of the matrix M360.Further, it should be noted that while M360 and Mλ are illustrated as7×7 matrices, any suitably sized matrices can be used, though an oddnumber provides the best result. For example, in certain embodiments, ithas been found that 1023×1023 provides acceptable predictive resultswithin the pattern prediction system 400. This due to the largerbandwidth of the equivalent band pass filter property of the predictivesystem.

Notation representative of the operation of the wavelet block 401, e.g.,how the time-based input pattern is converted into matrix-based wavelettransform, is illustrated in FIG. 5. Initially, the time-based inputpattern is mapped to the axes of matrix M360(A,B) via the followingmechanism:

-   -   a. The first axis A in matrix M360 maps the time-based input        pattern in the sequence: 1, 2, 3, . . . to N, with N being the        largest value on axis A of matrix M360. This is moving “right”        and tA describes this operation.    -   b. The second axis B in matrix M360 maps the time-based input        pattern in the sequence: N, N−1, N−2 to 1, with 1 being the        smallest value on axis B of matrix M360. This is moving “left”        and tp describes this operation.

A referenced cell (e.g., cell D) of matrix M360 is mapped to the to theaxes of matrix Mλ(tλ,tp) by the following mechanism:

-   -   a. The first axis tλ in matrix Mλ cycles in the sequence 1, 2,        3, . . . to N, with N being the largest value on the axis of        matrix M360. This is moving “right” and tλ describes this        operation.    -   b. The second axis tp in matrix Mλ cycles in the sequence N,        N−1, N−2, . . . to 1, with 1 being the smallest values on the        axis of matrix M360. This is moving “left” and tp describes this        operation.

Coefficients of wavelet transforms are placed in the symbolic matrix Mλof FIG. 5, whereby the time-based input pattern is inputted to each axis(tp, tλ) by incrementing the time axis of the time-based input patternby one symbol (tp) and mapping through all value time mappings of theinput in the other axis (tλ). This process is repeated until all symbols(e.g., all cells) in Mλ have been mapped in both axes with the cells,e.g., cell D, of M360 mapped to a cell in matrix Mλ at each increment.

A wavelet is a zero-average function that is well localized in a smallperiod of time to highlight different aspects of the pattern. A waveletfunction, known as a mother wavelet, gives rise to a family of waveletsthat are translated (shifted) and dilated (stretched or compressed)versions of the original mother wavelet. As such, the input can berepresented as a summation of wavelets that are fundamentally identicalexcept for the translation and dilation factors (or coefficients). Thus,the input signal can be represented entirely by wavelet coefficientsthat represent both time and frequency coefficients.

Continuing with the schematic of FIG. 4, the matrix Mλ is mapped to thememory block 402, also identified as MP. MP utilizes three matrices, azero degree matrix, Mzero, and two 360 degree matrices, M360(1) andM360(2) to continuously feed input to matrix MP. Notation representativeof how the wavelet transform of Mλ is stored in MP is illustrated inFIG. 6.

Referring to FIG. 6, The input wavelet transform comprises theasymmetrix matrix Mλ in which the cell D references both axes (tp, tλ).In transferring to MP, Mλ is flipped (e.g. (tλ,tp)), with the flippedmatrix possessing the same content as the original Mλ the flipped matrixis also designated as Mλ. However, a cell in the flipped matrix Mλ isdesignated cell F to avoid confusion.

There are two possible patterns that can be input to the memory blockMP. These two patterns comprise cell F and cell F′. In the instant case,cell F is chosen as the pattern input to MP. When the pattern to bestored equals the matrix size, the pattern input is gated closed and thememory output (cell F′) is gated open and used as the memory input tomaintain the internal pattern via a closed loop

As such, the axis A in the matrix M360(1) maps cell F or cell F′ in thesequence 1, 2, 3, . . . to N, the largest value on the axis of matrixM360(1) (axis A). This is moving “Right;” tλ describes this operation.This operation is mapped to matrix M360(1) (cell A).

The referenced cell of M360(1) (D) is mapped to the axes of the matrixMzero (cell D).

The axis C in matrix M360(2) maps cell F or cell F′ in the sequence: N,N−1, N−2, . . . to 1, the smallest vale on the axis of matrix M360(2)(axis C). This is moving “Left;” tp describes this operation. Thisoperation is mapped to matrix M360(2) cell C.

The reference cell of M360(2) E is mapped to the axes of matrix Mzerocell E.

The cell of matrix Mzero (D,E) cell F′ is mapped to matrices M360(1) andM360(2) to maintain the pattern in the memory block and is the inputcell, cell F′ of matrix MP.

Coefficients of matrix MP of FIG. 6 are placed therein, whereby thetime-based pattern is inputted to each axis (tλ, tp), by incrementingthe time axis of the time-based input pattern by one symbol (tλ) andmapping through all value time mappings of the input in the other axis(tp). This process is repeated until all symbols (e.g., all cells) inthe matrix MP have been mapped in both axes with cell F′ mapped to acell in matrix MP (tλ,tp) at each increment.

Continuing with the schematic of FIG. 4, the matrix MP is mapped to thepredictor block 403, also identified as MPP. MPP utilizes threematrices, a zero degree matrix, Mzero, and two 360 degree matrices,M360(1) and M360(2) to feed input to matrix MPP. The predictiveoperation which generates the prediction matrix MPP is a form ofmatrix-based memory similar to the memory block MP. Notationrepresentative of how a cell from matrix MP wavelet transform is mappedinto the predictive block and the operation of the predictive block isillustrated in FIG. 7.

The input wavelet transform consists' of an asymmetric matrix MP, inwhich the cell “F′” references both axes. MP is flipped, with theflipped matrix possessing the same content as the original MP and soalso designated MP. A cell in this second matrix MP is designated (cellG) to avoid confusion.

The difference between the wavelet axes (tλ, tp) used in in thematrix-based systems FIG. 5, FIG. 6 and the axes in the predictiveoperation, is that the sequence of “Left” and “Right” operations used isinverted (tp, tλ) for the generation of the predictive matrix MPP.

The axis A in matrix M360(1) maps (cell G) in the sequence: N, N−1, N−2. . . to 1, the smallest value on the axis of matrix M360(1) (axis A).This is moving “Left”; tp describes this operation. This operation ismapped to matrix M360(1) (cell A).

The referenced cell of M360(1) (D) is mapped to the axes of matrix Mzero(cell D).

The axis C in matrix M360(2) maps (cell G) in the sequence: 1, 2, 3 . .. to N, the largest value on the axis of matrix M360(2) (axis C). Thisis moving “Right”; tλ describes this operation. This operation is mappedto matrix M360(2) (cell C).

The referenced cell of M360(2) (E) is mapped to the axes of matrix Mzero(cell E).

Coefficients of matrix MPP of FIG. 7, whereby the time-based inputpattern is inputted to each axis (tλ, tp) by incrementing the time axisof the time-based input pattern by one symbol (tp) and mapping throughall value time mappings of the input in the other axis (tλ). Thisprocess is repeated until all symbols (e.g. all cells) in MPP have beenmapped in both axes with (cell G′) mapped to a cell in matrix MPP (tλ,tp) at each increment.

FIG. 8 provides a combination depiction of notation representative ofthe operation of the matrix-based memory block, MP, (also see FIG. 6)and matrix-based predictor block, MPP, (also see FIG. 7) to more clearlyillustrate the flow of operations from block to block.

Referring once again to FIG. 4, the matrix MPP is mapped to the PatternOutput block 404, which is a wavelet/time conversion block. Notationrepresentative of the how a cell from matrix MPP is mapped to thePattern Output block and the operation of the Pattern Output block 404is illustrated in FIG. 9.

The key difference between the wavelet axes (tλ, tp) used in in thematrix-based predictor block, MPP, of FIG. 7 and the axes used in thewavelet/time conversion Pattern Output block of FIG. 9, is that thesequence of “Right” and “Left” operations used is inverted to (tp, tλ),the original operation for the generation of the matrix.

This matrix-based wavelet/time transform of the Pattern Output blockutilizes two MPP matrices, MPP(1) and MPP(2) and one zero degree matrixMzero. The mapping to the axes of these matrices generates theconversion.

The input wavelet transform comprises asymmetric matrix MPP, in whichthe cell “G′” references both axis (tλ, tp). MPP is flipped, with theflipped matrix possessing the same content as the original MPP and soalso designated MPP. The axes are also swapped to (tp, tλ).

The first matrix MPP (1) maps to axis H in matrix Mzero, in thesequence: N, N−1 . . . to 1, the smallest value on the axis of matrixMPP (1). This is moving “Left”; tp describes this operation.

The second matrix MPP (2) maps to axis J in matrix Mzero in thesequence:

1, 2 . . . to N, the largest value on the axis of matrix MPP (2). Thisis moving “Right”; tλ describes this operation.

The referenced cell of Mzero (cell K) is mapped to the time axis ofPatternOut starting at time t=N+1.

In certain embodiments, to improve the predictive accuracy of thematrix-based pattern prediction system of the present disclosure, twovariables can be introduced into the operation of the system. FIG. 9,depicting operation of the Pattern Output block (which is describedabove), also includes notation representative of the use of thevariables Cp, Cpp. To improve predictive accuracy, the Pattern Outputblock generally performs three operations. The first operation is toautomatically perform a DC offset so that the Pattern Out output isaligned with the end of the original input pattern. This is a simplealignment operation and is not shown. The second operation is to addtilt, Cp, to this automatic DC offset, starting at time N, where N isthe matrix size; this is shown in the matrix MPP(1). Note that tilt, Cp,is used to compensate for low frequency (DC) components present in theoriginal semi-chaotic input pattern. The third operation is to add atime shift, Cpp, which is shown in matrix MPP(2). The variable Cpp isused to compensate for high frequency components present in the originalsemi-chaotic input pattern.

When compensating for frequencies outside the band pass range of thematrix-based pattern prediction system the following steps are taken:

-   -   1) All possible combinations of tilt (Cp) and time shift (Cpp)        are generated, within a restricted range of time shift and tilt.    -   2) The time range was given as 300 time units for matrices of        size 1023 (reference FIG. 11 to FIG. 14) or roughly ⅓ of        available time units. This range can be greater or less        depending on the desired accuracy and calculating resources.    -   3) For the inputted pattern, the time range is then from 723 to        1023, with 1023 being the last time unit of the inputted        pattern.    -   4) For time shift (Cpp), the range is from 1023 to 723, with        1023 being the first time unit of the predicted pattern.    -   5) For tilt (Cp), the range is from 0 to 3. This range for tilt        can be greater if needed to compensate for ramped DC components.    -   6) Generating all possible combinations of time shift and tilt        produces two sets of nested matrices. Both sets are used for        generation of Cp and Cpp    -   7) Cp and Cpp can be extracted from these nested matrices, based        on the minimum area between the inputted pattern and the        predicted pattern for a unique value of Cp and Cpp.    -   8) The combination of Cp and Cpp which generates the minimum        area is used as variables in the pattern out block Pattern Out        for the frequency compensation.

FIG. 10 is a comparison plot illustrating the input pattern of FIG. 4,e.g. “TestPattern_(tp),” along with the output, e.g., “PatternOut_(tp),”of a system operating only with standard memory block MP and the output,e.g., “Predictor_(tp),” of the matrix-based pattern prediction system400 with predictor block MPP. Note that the TestPattern_(tp) is theactual test pattern generated with time (tp=0, tp=500), the test patterninputted to the matrix-based pattern prediction system is from time(tp=0, tp=255). and Predictor_(tp) is the predicted pattern of what thetest pattern will be from time (tp=255, tp=500). Note that FIG. 10Illustrates an inputted pattern consisting of a single frequency whichis within the band pass of the matrix-based pattern prediction systemmeaning no compensation (e.g. no use of Cp or Cpp) is needed.

FIGS. 11-14 illustrate examples of predictions made by the matrix-basedpattern prediction system 400 of the present disclosure. Moreparticularly, each of the FIGS. 11-14 represent a time-based,semi-chaotic input pattern based on the commodities market that is to beinput to the matrix-based pattern prediction system 400. The inputpattern has been scaled to up to fill a 1023×1023 matrix M360 and, assuch, the ending time unit is 1023. Each of FIGS. 11-14 illustrate thefull inputted pattern from time unit zero to the maximum pattern run ofup to ^(˜)1650 units in comparison to the prediction of the pattern bythe matrix-based pattern prediction system 400 beginning at time unitN+1, e.g. time unit 1023, out to a maximum time unit of N*2, e.g. 2046time units (the prediction has the 1023×1023 scaling removed to showactual commodity values).

It will be clear that the present invention is well adapted to attainthe ends and advantages mentioned as well as those inherent therein.While a presently preferred embodiment has been described for purposesof this disclosure, various changes and modifications may be made whichare well within the scope of the present invention. For example, othermatrices exhibiting symmetry may be employed. Additionally, otherasymmetric matrices may also be employed. Furthermore, additionallearning algorithms may also be employed. Numerous other changes may bemade which will readily suggest themselves to those skilled in the artand which are encompassed in the invention disclosed and as defined inthe appended claims.

What is claimed:
 1. A system for predicting an output pattern based on asemi-chaotic time-based input, the system comprising: a matrix-basedwavelet conversion block that receives the semi-chaotic time-basedinput, the matrix-based wavelet conversion block transforming thesemi-chaotic input into a plurality of wavelets, each of the pluralityof wavelets being associated with a coefficient, each of thecoefficients being mapped to a first asymmetric matrix having first andsecond axes (tp, tλ); a matrix-based memory block that maps thecoefficients of the first asymmetric matrix to a second asymmetricmatrix having flipped first and second axes (tλ, tp); a matrix-basedpredictor block that maps the coefficients of the second asymmetricmatrix to a third asymmetric matrix in a time-shifted configuration; anda matrix-based pattern output block that transforms the coefficients ofthe third asymmetric matrix into a time-based output pattern that is apredictive of the semi-chaotic time-based input at a future time.
 2. Thesystem of claim 1, wherein the coefficients of the wavelets arerepresentative of both time and frequency.
 3. The system of claim 1,wherein the matrix-based wavelet conversion block includes a symmetrical360 degree matrix and an asymmetric matrix.
 4. The system of claim 3,wherein the matrix-based wavelet conversion block scales thesemi-chaotic time-based input to the size of the symmetrical 360 degreematrix.
 5. The system of claim 1, wherein the mapping to the secondasymmetric matrix of the matrix-based memory block is performed throughuse of three matrices including two 360 symmetric matrices and one zerodegree matrix.
 6. The system of claim 1, wherein the mapping to thethird asymmetric matrix of matrix-based predictor block is performedthrough use of three-matrices including two 360 symmetric matrices andone zero degree matrix.
 7. The system of claim 1, wherein thetime-shifted configuration of the coefficients is representative oftime-shifting the plurality of wavelets.
 8. The system of claim 1,wherein the matrix-based memory block utilizes a first variable and thematrix-based predictor block utilizes a second variable, the first andsecond variables used to adjust time-shifting of the coefficients. 9.The system of claim 8, wherein the first and second variable areadjusted to maintain a minimum error between the coefficients stored inthe matrix-based memory block and the coefficients stored in thematrix-based predictor block.
 10. A method for predicting an outputpattern based on a semi-chaotic time-based input the method comprising:transforming the semi-chaotic time-based input into a plurality ofwavelets, each of the plurality of wavelets associated with acoefficient and mapping the coefficients of the plurality of wavelets toa first asymmetric matrix having a first axis (tp) and a second axis(tλ); mapping the coefficients of the plurality of wavelets to a secondasymmetric matrix having a first axis (tλ) and a second axis (tp),wherein two 360° matrices and a zero degree matrix are used to effectthe mapping; mapping the coefficients of the second asymmetric matrix toa third asymmetric matrix having a first axis (tp) and a second axis(tλ), wherein two 360° matrices and a zero degree matrix are used toeffect the mapping in conjunction with a time-shift; and transformingthe time-shifted coefficients into a time-based output pattern that is apredictive of the semi-chaotic time-based input at a future time. 11.The method of claim 10, wherein the coefficients of the wavelets arerepresentative of both time and frequency.
 12. The method of claim 10,wherein transforming the time-based semi-chaotic pattern includesscaling the time-based semi-chaotic pattern to fit a number cellscontained in a predetermined two-dimensional symmetric 360° matrix andstoring the scaled pattern in the predetermined two-dimensionalsymmetric 360° matrix.
 13. The method of claim 12, wherein transformingthe time-based semi-chaotic pattern additionally includes mapping thecells of the predetermined two-dimensional symmetric 360° matrix to atwo-dimensional asymmetric matrix, the mapping of cells includinginputting the time-based pattern to each of two axes of thetwo-dimensional asymmetric matrix by incrementing one of the axes by onesymbol and mapping through all value time mapping of the input in thesecond of the axes.
 14. The method of claim 10, wherein a first variableis used to effect a first time-shaft at the second asymmetric matrix andwherein a second variable is used to effect the time-shift at the thirdasymmetric matrix.
 15. The method of claim 14, wherein the first andsecond variables are adjusted to maintain a minimum error between thecoefficients stored in second asymmetric matrix and the coefficientsstored in the third asymmetric matrix.